package com.panshi.servers;

import com.panshi.api.util.PageSizeVO;
import com.panshi.pojo.ArticleVO;
import com.panshi.api.util.PageSizeVO;
import com.panshi.pojo.BeiUserVO;
import com.panshi.pojo.UserCollectionVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author XiaoWangYa
 * @version 1.0
 * @date 2020/8/4 0004 下午 2:51
 */
public interface ArticleService {
    // 新增文章内容
    void addArticleInfo(ArticleVO yb_Article_VO);

    // 新增站内消息数据
    void addInstation(ArticleVO yb_Article_VO);

    // 删除文章内容
    void deleteArticleInfo(int id);

    // 删除文章内容
    void delArticleInfo(int id);

    // 查询文章咨询信息
    List<ArticleVO> queryArticleInfo(PageSizeVO yb_PageSize_VO);

    // 查询热门文章咨询信息
    List<ArticleVO> queryHotArticleInfo(PageSizeVO yb_PageSize_VO);

    // 管理员查询全部文章咨询信息
    List<ArticleVO> adminQueryArticleInfo(PageSizeVO yb_PageSize_VO);

    // 查询最新文章咨询信息
    List<ArticleVO> queryNewArticleInfo(PageSizeVO yb_PageSize_VO);

    // 查询指定文章咨询信息
    ArticleVO queryAssignArticleInfo(int aid);

    // 查询文章数据量
    int queryArticleCount ();

    // 随机查询(专家推荐、大家都在看、其他看点、相关推荐)
    List<ArticleVO> randomQueryArticle(PageSizeVO yb_PageSize_VO);

    // 修改指定文章咨询信息
    void updateAssignArticleInfo(ArticleVO yb_Article_VO) throws Exception;

    // 增加文章阅读量
    void addReadCount(int id);
    // 增加文章评论量
    void addCount(int id);
    // 增加文章收藏量
    void addCollectCount(int id);

    // 增加文章阅读量
    void addSearchReadCount(int id);
    // 增加文章评论量
    void addSearchCount(int id);
    // 增加文章收藏量
    void addSearchCollectCount(int id);

    // 查询指定用户信息
    BeiUserVO queryAssignUserInfo (int id);
}